package com.ytjj.qmyx.admin.dao;

import com.ytjj.qmyx.admin.model.request.ReturnRegisterRequest;
import com.ytjj.qmyx.admin.model.response.ReturnRegisterResponse;
import com.ytjj.qmyx.mall.model.ReturnRegister;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 *
 * @Version: 1.0
 */
public interface ReturnRegisterDao {

    Integer insertReturnRegister(ReturnRegister returnRegister);

    List<ReturnRegisterResponse> selectList(ReturnRegisterRequest returnRegisterRequest);

    Integer updateReturnRegister(ReturnRegisterRequest returnRegisterRequest);

    Integer delReturnRegister(Integer id);

    Integer syncStatus(@Param("orderInfoId") Integer orderInfoId,
                       @Param("orderinfoStatus") String orderinfoStatus);

    Integer updateRefundTime(String orderNo);

    void updateRegisterOrderStatus(@Param("orderInfoId") Integer orderInfoId);

    void updateRegisterOrdersInfoStatus(@Param("orderInfoId") Integer orderInfoId);

    void modifiedReturnRegister(@Param("orderInfoId") Integer orderInfoId);

    void syncAllStatus(@Param("orderInfoId") Integer orderInfoId, @Param("orderStatus") String orderStatus, @Param("orderinfoStatus") String orderinfoStatus);

    void invalidOrderStatus(@Param("orderInfoId") Integer orderInfoId);

    void validOrderStatus(@Param("orderInfoId") Integer orderInfoId);

    ReturnRegister getReturnRegisterById(Integer id);

    ReturnRegister getReturnRegisterByOid(Integer orderInfoId);

    Integer selectByOrderNo(String orderNo);

    List<ReturnRegister> selectByOrderInfoId(@Param("orderInfoIds") List<Integer> orderInfoIds);

    Integer queryCountReturnRegisterByOrderInfoId(Integer orderInfoId);

    Integer selectIdByOrderInfoId(Integer ordersInfoId);
}
